/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package assignment1;

import java.util.ArrayList;

/**
 * Product Class:
 * Used as the superclass for all Product Items
 * @author Vale
 *
 */
public abstract class Product {
    //Instance Variables

    private String prodName;
    private double prodCost;
    private int prodSched;
    private ArrayList<Inventory> inventList = new ArrayList<Inventory>();

    /**
     * String getProdName() Method:
     * Returns prodName - The name of the Product
     *
     */
    public String getProdName() {
        return prodName;
    }

    /**
     * void setProdName(String prodName) Method:
     * Sets prodName
     * @param prodName The name of the Product
     */
    public void setProdName(String prodName) {
        this.prodName = prodName;
    }

    /**
     * double getProdCost() Method:
     * Returns prodCost - The cost of the Product
     *
     */
    public double getProdCost() {
        return prodCost;
    }

    /**
     * void setProdCost(double prodCost) Method:
     * Sets prodCost
     * @param prodCost  The cost of the Product
     */
    public void setProdCost(double prodCost) {
        this.prodCost = prodCost;
    }

    /**
     * int getProdSched() Method:
     * Returns prodSched - The number of the specified Product scheduled for Production
     *
     */
    public int getProdSched() {
        return prodSched;
    }

    /**
     * void setProdSched(int prodSched) Method:
     * Sets prodSched
     * @param prodSched  The number of the specified Product scheduled for Production
     */
    public void setProdSched(int prodSched) {
        this.prodSched = prodSched;
    }

    /**
     * ArrayList<Inventory> getInventList() Method:
     * Returns inventList - The inventory list for the given Product
     *
     */
    public ArrayList<Inventory> getInventList() {
        return inventList;
    }

    /**
     * void setInventList(ArrayList<Inventory> inv) Method:
     * Sets inventList
     * @param inv  The inventory list for the given Product
     */
    public void setInventList(ArrayList<Inventory> inv) {
        this.inventList = inv;
    }
}
